///******************************************************************************* // * Copyright (c) 2008, 2009 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // ******************************************************************************/ // //package org.eclipse.ui.tests.markers; // //import java.util.Arrays; //import java.util.Comparator; // //import org.eclipse.ui.internal.views.markers.MarkerSortUtil; //import org.eclipse.ui.internal.views.markers.MockMarkerEntry; //import org.eclipse.ui.tests.harness.util.UITestCase; // ///** // * @since 3.5 // * // */ //public class MarkerSortUtilTest extends UITestCase { // // private static final int ARRAYSIZE = 100000; // // public MarkerSortUtilTest() { // super("MarkerSortUtilTest"); // } // // /* // * (non-Javadoc) // * // * @see org.eclipse.ui.tests.harness.util.UITestCase#doSetUp() // */ // protected void doSetUp() throws Exception { // // TODO Auto-generated method stub // super.doSetUp(); // // } // // public void testPartialSort() { // sortToLimit(ARRAYSIZE,ARRAYSIZE/2); // } // // public void testCompleteSort() { // sortToLimit(ARRAYSIZE,ARRAYSIZE); // } // /** // * // */ // private void sortToLimit(int arraySize,int limit) { // MockMarkerEntry[] fArray1=generateArray(arraySize); // MockMarkerEntry[] fArray2=(MockMarkerEntry[]) fArray1.clone(); // Comparator comparator=new Comparator() { // public int compare(Object o1, Object o2) { // return ((MockMarkerEntry)o1).name.compareTo(((MockMarkerEntry)o2).name); // } // }; // MarkerSortUtil.sortStartingKElement(fArray1, comparator, 0,fArray1.length-1, limit); // Arrays.sort(fArray2,comparator); // // for (int i = 0; i < limit; i++) { // if(!fArray1[i].equals(fArray2[i])){ // fail("Incorrect sorting by MarkerSortUtil.sortStartingKElement(...)"); // } // } // } // // // /** // * Generate a large sized array for sorting // */ // static MockMarkerEntry[] generateArray(int arraySize) { // MockMarkerEntry[] fArray = new MockMarkerEntry[arraySize]; // int count = arraySize - 1; // outer: while (count >= 0) { // for (int i = 0; i < 26; i++) { // for (int j = 0; j < 26; j++) { // for (int k = 0; k < 26; k++) { // if (count < 0) // break outer; // if (k % 2 == 0) // fArray[count] = new MockMarkerEntry( // new String( // new char[] { (char) (i + 'a'), // (char) (j + 'A'), // (char) (k + 'a') })); // else if (k % 3 == 0) // fArray[count] = new MockMarkerEntry( // new String( // new char[] { (char) (i + 'a'), // (char) (j + 'a'), // (char) (k + 'A') })); // else // fArray[count] = new MockMarkerEntry( // new String( // new char[] { (char) (i + 'A'), // (char) (j + 'a'), // (char) (k + 'a') })); // --count; // } // // } // } // // } // return fArray; // } //}